package pe.edu.upc.jtigers.svpn.domain.model;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Transient;

import org.codehaus.jackson.annotate.JsonIgnore;

@Entity
public class Compra implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 517866814648239901L;
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int idCompra;
	private String numeroTarjeta;
	private int mesCaducidad;
	private int anioCaducidad;
	private String codVerificacion;
	private String direccionFacturacion;
	private double montoDePago;
	private boolean transaccionCompleta;
	
	@Transient
	private int idComprador;	
	@Transient
	private int idPlan;

	@ManyToOne
	@JoinColumn(name = "IdPlanNegocio")
	@JsonIgnore
	private PlanNegocio planNegocio;

	@ManyToOne
	@JoinColumn(name = "IdEmprendedor")
	@JsonIgnore
	private Emprendedor emprendedor;

	public Compra()
	{
		this.emprendedor = new Emprendedor();
		this.planNegocio = new PlanNegocio();
	}
	
	public int getIdCompra() {
		return idCompra;
	}

	public void setIdCompra(int idCompra) {
		this.idCompra = idCompra;
	}

	public String getNumeroTarjeta() {
		return numeroTarjeta;
	}

	public void setNumeroTarjeta(String numeroTarjeta) {
		this.numeroTarjeta = numeroTarjeta;
	}
	public int getMesCaducidad() {
		return mesCaducidad;
	}

	public void setMesCaducidad(int mesCaducidad) {
		this.mesCaducidad = mesCaducidad;
	}

	public int getAnioCaducidad() {
		return anioCaducidad;
	}

	public void setAnioCaducidad(int anioCaducidad) {
		this.anioCaducidad = anioCaducidad;
	}

	public String getCodVerificacion() {
		return codVerificacion;
	}

	public void setCodVerificacion(String codVerificacion) {
		this.codVerificacion = codVerificacion;
	}

	public String getDireccionFacturacion() {
		return direccionFacturacion;
	}

	public void setDireccionFacturacion(String direccionFacturacion) {
		this.direccionFacturacion = direccionFacturacion;
	}

	public PlanNegocio getPlanNegocio() {
		return planNegocio;
	}

	public void setPlanNegocio(PlanNegocio planNegocio) {
		this.planNegocio = planNegocio;
	}

	public void setEmprendedor(Emprendedor emprendedor) {
		this.emprendedor = emprendedor;
	}

	public Emprendedor getEmprendedor() {
		return emprendedor;
	}

	public double getMontoDePago() {
		return montoDePago;
	}

	public void setMontoDePago(double montoDePago) {
		this.montoDePago = montoDePago;
	}

	public boolean isTransaccionCompleta() {
		return transaccionCompleta;
	}

	public void setTransaccionCompleta(boolean transaccionCompleta) {
		this.transaccionCompleta = transaccionCompleta;
	}

	public int getIdComprador() {
		return idComprador;
	}

	public void setIdComprador(int idComprador) {
		this.idComprador = idComprador;
	}

	public int getIdPlan() {
		return idPlan;
	}

	public void setIdPlan(int idPlan) {
		this.idPlan = idPlan;
	}
}
